package cn.gson.springboot.model.mapper;

import cn.gson.springboot.model.pojos.Purchase;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

@Mapper
@Component("purMapper")
public interface PurchaseMapper {
    public List<Purchase> selectPurchase(Integer value,Integer num,String purTheme);

    public List<Purchase> selectCusPurchase(Integer cusId);

    public Purchase selectPurchaseById(Integer purId);

    public Purchase selectPurchaseByPurNo(String purNo);

    public  List<Purchase> selectPurchaseImplement();

    public  List<Purchase> selectPurchasePastThirty();

    public  List<Purchase> selectPurchaseNotPayment();

    public List<Map<String,Object>> computePurchaseNumBySort();

    public List<Map<String,Object>> computePurchaseNumBySigningByCus();

    public List<Map<String,Object>> computePurchaseNumByMonth();

    public List<Map<String,Object>> computePurchaseAmountByMonth();

    public List<Map<String,Object>> computeProdDetailAmountByPro();

    public List<Map<String,Object>> computeProdDetailNumByPro();

    public List<Map<String,Object>> computePayPlanNumByPur();

    public List<Map<String,Object>> computePayPlanAmountByPur();

    public List<Map<String,Object>> computePayPlanAmountStaByCus();

    public List<Map<String,Object>> computePayPlanNumByEmp();

    public List<Map<String,Object>> computePayPlanAmountByEmp();

    public List<Map<String,Object>> computePayPlanAmountByMonth();

    public List<Map<String,Object>> computePayRecordsAmountByPur();

    public List<Map<String,Object>> computePayRecordsAmountByEmp();

    public List<Map<String,Object>> computePayRecordsAmountByMonth();

    public List<Map<String,Object>> computePayRecordsAmountByClassify();

    public List<Map<String,Object>> computePayInvoiceAmountByPur();

    public List<Map<String,Object>> computePayInvoiceAmountByEmp();

    public List<Map<String,Object>> computePayInvoiceAmountByMonth();

    public List<Map<String,Object>> computePayInvoiceAmountByPaperType();
}
